
var express = require('express')

// 创建一个子路由对象(用来管理一部分后端路由)
var goodRouter = express.Router()


// 设置分页(查询)接口
goodRouter.get('/list', (req, res) => {

    // 获取get类型请求的参数：req.query
    var { page, count } = req.query;

    console.log('收到了来自客户端的请求');

    console.log(page, count);

    // req 请求对象，包含了和本次请求相关的所有信息(请求地址，请求方式，携带的参数)

    // res 响应对象，可以借助res向客户端返回信息(字符串，json格式数据，网页)


    // 分页
    //slice(0,10) 取前10个
    // slice(10,20) 取11-20
    var newarr = arr.slice((page - 1) * count, page * count);
    // 返回数据
    res.send({ code: 200, msg: '请求成功', list: newarr })


})


// 登录请求
goodRouter.post('/login', (req, res) => {

    var { phone, path } = req.body;
    console.log(phone, path);

    // 用来自客户端的数据 做判断，判断是否在服务器端的用户列表中
    var i = arr.findIndex((item, index) => {
        return item.phone == phone && item.path == path;
    })

    // 如果i不是-1，说明来自客户端的数据是合法的
    if (i != -1) {
        // 登陆成功时，可以一并返回 登陆成功的用户信息，登录令牌
        res.send({ code: 200, msg: '登录成功！', goodinfo: arr[i], token: '' })
    } else {
        res.send({ code: 400, msg: '登陆失败！' })
    }



})


// 模糊搜索
goodRouter.get('/search', (req, res) => {
    // 接收参数
    var { searchkey } = req.query;

    // 根据参数，从用户的name属性中进行过滤
    var newarr = arr.filter((item) => {
        // indexOf() 返回的是下标，没找到返回-1
        // return item.name.indexOf(searchkey) != -1;

        //includes() 返回true/false
        //return item.name.includes(searchkey);

        // 正则查询
        return new RegExp(searchkey).test(item.name)
    })

    // 返回数据
    res.send({ code: 200, msg: '查询成功！', list: newarr })
})

// 导出这个子路由对象
module.exports = goodRouter;


